package cn.fxl.basic.mapper;

import cn.fxl.basic.query.BasicQuery;

import java.util.List;

public interface BasicMapper<T>{
    /**
     * 查询所有
     * @return
     */
    List<T> getAll();

    /**
     * 查询单个
     * @return
     */
    T getOne(Long id);

    /**
     * 删除
     * @param id
     */
    void remove(Long id);

    /**
     * 添加
     * @param T
     */
    void save(T T);

    /**
     * 修改
     * @param T
     */
    void update(T T);

    /**
     * 获取查询的条数
     * @param basicQuery
     * @return
     */
    Integer totals(BasicQuery basicQuery);

    /**
     * 高级查询的集合
     * @param basicQuery
     * @return
     */
    List<T> queryData(BasicQuery basicQuery);

    /**
     * 批量删除
     * @param a
     */
    void pathchdel(Long[] a);
}
